Definisi Sifer blok

Suatu penguncian blok terdiri dari sepasang algoritma: penyulitan E dan dekripsi D.[1] Kedua algoritma menerima dua masukan: blok data berukuran n bit dan kunci berukuran k bit. Algoritma dekripsi ialah penyongsangan fungsi enkripsi, iaitu {{{1}}}. Secara matematis,[2][3] suatu penguncian blok didefinisikan oleh sebuah fungsi enkripsi

E K ( P ) = E ( K , P ) : { 0 , 1 } k × { 0 , 1 } n → { 0 , 1 } n {\displaystyle E_{K}(P)=E(K,P):\{0,1\}^{k}\times \{0,1\}^{n}\rightarrow \{0,1\}^{n}}

yang menerima kunci K berukuran k bit (disebut ukuran kunci) dan teks asal P berukuran n (disebut ukuran blok) serta mengeluarkan teks berkunci C berukuran n bit. Untuk setiap K, fungsi EK(P) wajib memiliki pemetaan yang dapat dibalik dalam {0, 1}n. Penyongsangan fungsi E didefinisikan sebagai fungsi

E K − 1 ( C ) = D K ( C ) = D ( K , C ) : { 0 , 1 } k × { 0 , 1 } n → { 0 , 1 } n {\displaystyle E_{K}^{-1}(C)=D_{K}(C)=D(K,C):\{0,1\}^{k}\times \{0,1\}^{n}\rightarrow \{0,1\}^{n}}

yang menerima kunci K dan teks berkunci C serta mengeluarkan teks asal P dengan syarat

∀ K : D K ( E K ( P ) ) = P . {\displaystyle \forall K:D_{K}(E_{K}(P))=P.}

Misalnya, sebuah penguncian blok menerima blok teks asal 128 bit sebagai masukan dan mengeluarkan blok teks berkunci 128 bit. Transformasi yang dilakukan bergantung pada kunci yang diberikan. Dekripsi juga mirip, iaitu menerima blok teks tersandi 128 bit sebagai masukan dan mengeluarkan blok teks asal 128 bit dengan kunci yang diberikan.[4]

Untuk setiap kunci K, EK ialah permutasi (pemetaan bijektif) dari blok masukan. Setiap kunci memilih satu permutasi dari (2n)! kemungkinan.[2]